1. Field of the Invention
The present invention relates to data communications, and more particularly to techniques for streamlining the processing of data packets in network intermediate devices, such as concentration/multiplexing equipment in a telephone access provider network.
2. Description of Related Art
More and more consumers are connecting to the Internet through modems which are coupled to the public switched telephone network. The companies that provide access to the public switched telephone network are often referred to as access providers. The access providers include networks for transmitting voice and data among endpoints coupled to the network. For example, local loops connect modems at customer premises to a central office switch on the public switched telephone network. At the central office switch, the telephone connection is routed to its destination, either directly or through other equipment in the network. Often a network intermediate device in the access provider's network that receives data from an endpoint performs some protocol processing functions on the data before forwarding the data towards a remote network element, such as another endpoint or another network intermediate device. The protocol processing functions often have a control phase and a data phase. The control phase involves negotiating with the remote network element. As a result of the control phase, some data phase actions, like segmentation and reassembly, and applying or removing control data, typically have to be performed on the data as it is transported to the network.
As data traffic increases, the access providers that provide access to Internet Service Providers ISP across their telephone networks are diverting the data traffic off of the voice networks into networks more suited for data traffic or packet switched traffic. Thus, the central office switches are configured with a concentrator and multiplexer for data traffic, which performs these protocol processing functions. In this way, the communication of the data traffic from the central office switch to a remote access server or other destination is processed by the concentrator/multiplexer to optimize use of the access provider's available bandwidth. For example, access providers are beginning to deploy equipment which terminates calls, extracts packets and encapsulates the packets within logical connections in a tunnel.
The Point-to-Point Protocol, as it is defined, is used for transporting multi-protocol datagrams over point-to-point links, such as those between customer premises equipment CPE and a remote access server RAS for an ISP. One version of the PPP is described in Request For Comments RFC 1661, published July 1994 by the Point-to-Point Protocol Working Group of the Internet Engineering Task Force IETF. The PPP consists of a specification for encapsulating multi-protocol datagrams, a link control protocol LCP for establishing, configuring and testing the datalink connection, and a family of network control protocols NCPs for establishing and configuring different network layer protocols. According to the PPP, network layer packets are referred to as datagrams. The datagrams are passed to the datalink layer in which they are encapsulated according to the PPP in a packet having a packet header. The packet including the PPP fields and the datagram is passed to the physical layer at which framing, such as HDLC-like framing, is appended to form a frame in the format received at the physical layer interface. So called HDLC-like framing is described in "PPP in HDLC-like Framing" RFC 1662 published July 1994 by the Point-to-Point Protocol Working Group of the IETF. Other kinds of framing are also used with the PPP, including framing designed to cooperate with asynchronous transfer mode ATM protocols widely used in the public switched telephone network for data communications. For example, ATM framing and FUNI framing are utilized. Upon reception, the frame is stripped of its framing fields, and a packet is passed to the datalink layer. The packet is stripped of its control fields to produce a datagram. The datagram is passed to the network layer at which network layer headers and the like are processed. Use of the PPP provides a simple technique for encapsulating data from a variety of protocols and is used for example across telephone lines between end stations and Internet access providers.
PPP sessions are established between peers. In one typical environment, the peers include equipment located at a customer site referred to as customer premises equipment CPE, and a remote access server RAS operated by an Internet Service Provider ISP. The customer dials a telephone number to access the RAS of the Internet Service Provider. The PPP is utilized to establish the peer to peer connection from the CPE to the RAS.
A tunnel is a communication channel which operates according to a tunneling protocol, including the point-to-point tunneling protocol PPTP, the layer 2 forwarding protocol L2F, the layer 2 tunneling protocol L2TP and equivalent protocols. The logical connections within a tunnel are used as a means for multiplexing the data from several users into a single tunnel.
In addition to tunneling, a variety of other techniques are utilized by the access providers to manage the flow of data through their networks.
Problems associated with these techniques arise from the increasing amount of data traffic, from the complexity of the processes required to handle the diversion of such traffic on the data networks, and from the need for efficient use of the data networks by the access providers. These problems can be addressed by increasing the processing resources located at the central offices or other intermediate devices in the access provider network. However, this solution is costly and difficult to deploy.
Accordingly, it is desirable to provide a technique supporting efficient use of access provider networks for point-to-point protocols, while minimizing the amount of processing resources needed in the access provider network itself to manage traffic flow.